1. Field of the Invention
The present invention relates to computer arithmetic and more particularly to determination of an initial estimate for a reciprocal of a floating point number.
2. Description of the Related Art
Digital signal processing typically requires determination of floating point reciprocals and digital signal processors frequently include a reciprocal as part of their instruction set. Numerous applications, such as three dimensional graphics processing, require high performance division. Algorithms such as the Newton-Raphson algorithm, which is a well known iterative approach to solving equations, can provide good performance as the accuracy of each succeeding iteration approximately doubles. Such algorithms, however, require an initial guess or estimate. The better the initial guess, the faster the Newton-Raphson algorithm (or other iterative approaches) will converge on the correct solution.
Prior art signal processors, such as the TI TMS320C4X and the Motorola DSP96002, use a table look up approach to determine the initial estimate for a reciprocal calculation. In such approaches a ROM stores the values of the estimates and is accessed for every estimate. However, in processors performing multiple floating point operations simultaneously, parallel reciprocal operations would require accessing multiple look up tables. Such a solution would be costly because it would require additional space on silicon for each additional look-up table ROM. Alternatively, one floating point operation could wait on another to complete accessing a single look-up table, an approach having obvious disadvantages. Further, even in processors requiring only one lookup table, it would be advantageous to eliminate the look up table ROM both to save space required for the ROM and to reduce the time for instruction execution by eliminating the need to access the look up table for each initial reciprocal estimate.